As tighter timing margins and rapidly ascending clock rates drive today's high-speed designs, timing jitter (hereafter referred to simply as “jitter”) is becoming a more significant cause of system errors. Jitter can significantly reduce margin in an otherwise sound design. For example, excessive jitter can increase the bit error rate (BER) of a communications signal by incorrectly transmitting a data bit stream. In digital systems, jitter can violate timing margins, causing circuits to behave improperly. As a consequence, measuring jitter accurately is necessary to determine the robustness of a system and how close it is to failing.
In the field of serial data communications, the term “jitter” refers to the deviation of the significant edges in a sequence of data bits from their ideal locations in time. On serial data links, the data clock is typically not transmitted with the data, so the jitter can cause data errors at the receiving end.
Jitter can be divided into two generalized categories: deterministic jitter (DJ) and random jitter (RJ). These two categories of jitter accumulate differently in the serial data communications link, and it is desirable to be able to separate and measure each of the two categories of jitter. The deterministic jitter can further be divided into three components: inter-symbol interference (ISI), duty cycle distortion (DCD) and periodic jitter (PJ). It is again desirable to measure each individual component of the deterministic jitter as an aid in diagnosing the cause(s) of the jitter.
A number of methods have been developed for measuring jitter on data streams, and for decomposing this jitter into its various components. Signal acquisition devices such as digital storage oscilloscopes (DSOs) can be used to facilitate real time jitter analysis of an SUT.
A weakness of several of the known methods is that they require a repeating pattern of known length in order to separate out one of the jitter components, namely, the ISI. In one of the known methods, the data sequence must consist solely of a repeating pattern of known length, even though the specific bit values need not be known. In another prior art method, a pattern for which the data bits are completely known must be repeated (possibly interspersed with other data).
Moreover, existing methods that provide analysis on an arbitrary data stream are not capable of fully decomposing the jitter, and require expensive, special-purpose equipment. Existing methods for fully decomposing jitter require that the data stream carry a repeating pattern with a known length, or a completely known sub-pattern that is frequently repeated.